Skip to content

Feat: ドライブ周りのUIの強化 #16011

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 73 commits into
base: develop
Choose a base branch
from
Open

Feat: ドライブ周りのUIの強化 #16011

wants to merge 73 commits into from

Conversation

syuilo
Copy link
Member

@syuilo syuilo commented May 10, 2025

What

ついでにno websoketモード対応

Resolve #7719
Resolve #16029
Resolve #15991

Why

Additional info (optional)

  • アバター変更時のクロップ
  • スマホでのuploaderスタイル

Checklist

  • Read the contribution guide
  • Test working in a local environment
  • (If needed) Add story of storybook
  • (If needed) Update CHANGELOG.md
  • (If possible) Add tests

Copy link

codecov bot commented May 10, 2025

Codecov Report

Attention: Patch coverage is 8.34598% with 1208 lines in your changes missing coverage. Please review.

Project coverage is 46.15%. Comparing base (e72ce60) to head (bff910c).

Files with missing lines Patch % Lines
packages/frontend/src/components/MkDrive.vue 0.00% 327 Missing ⚠️
...kages/frontend/src/components/MkUploaderDialog.vue 0.00% 258 Missing and 1 partial ⚠️
packages/frontend/src/utility/drive.ts 8.45% 195 Missing ⚠️
packages/frontend/src/pages/settings/profile.vue 0.00% 74 Missing ⚠️
...ackages/frontend/src/components/MkDrive.folder.vue 0.00% 71 Missing ⚠️
packages/frontend/src/os.ts 5.26% 36 Missing ⚠️
...ntend/src/components/MkDriveFolderSelectDialog.vue 0.00% 34 Missing and 1 partial ⚠️
...ages/frontend/src/components/MkDrive.navFolder.vue 0.00% 34 Missing ⚠️
packages/frontend/src/drag-and-drop.ts 14.81% 23 Missing ⚠️
...ges/frontend/src/utility/timeline-date-separate.ts 8.33% 22 Missing ⚠️
... and 29 more
Additional details and impacted files
@@            Coverage Diff            @@
##           develop   #16011    +/-   ##
=========================================
  Coverage    46.14%   46.15%            
=========================================
  Files         1706     1707     +1     
  Lines       173653   173931   +278     
  Branches      5289     5287     -2     
=========================================
+ Hits         80136    80271   +135     
- Misses       93035    93197   +162     
+ Partials       482      463    -19     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

github-actions bot commented May 10, 2025

このPRによるapi.jsonの差分

差分はこちら
--- base
+++ head
@@ -38930,6 +38930,172 @@
         }
       }
     },
+    "/drive/files/move-bulk": {
+      "post": {
+        "operationId": "post___drive___files___move-bulk",
+        "summary": "drive/files/move-bulk",
+        "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:drive*",
+        "externalDocs": {
+          "description": "Source code",
+          "url": "https://github.com/misskey-dev/misskey/blob/develop/packages/backend/src/server/api/endpoints/drive/files/move-bulk.ts"
+        },
+        "tags": [
+          "drive"
+        ],
+        "security": [
+          {
+            "bearerAuth": []
+          }
+        ],
+        "requestBody": {
+          "required": true,
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "fileIds": {
+                    "type": "array",
+                    "uniqueItems": true,
+                    "minItems": 1,
+                    "maxItems": 100,
+                    "items": {
+                      "type": "string",
+                      "format": "misskey:id"
+                    }
+                  },
+                  "folderId": {
+                    "type": [
+                      "string",
+                      "null"
+                    ],
+                    "format": "misskey:id"
+                  }
+                },
+                "required": [
+                  "fileIds"
+                ]
+              }
+            }
+          }
+        },
+        "responses": {
+          "200": {
+            "description": "OK (with results)",
+            "content": {
+              "application/json": {
+                "schema": {}
+              }
+            }
+          },
+          "400": {
+            "description": "Client error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "INVALID_PARAM": {
+                    "value": {
+                      "error": {
+                        "message": "Invalid param.",
+                        "code": "INVALID_PARAM",
+                        "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "401": {
+            "description": "Authentication error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "CREDENTIAL_REQUIRED": {
+                    "value": {
+                      "error": {
+                        "message": "Credential required.",
+                        "code": "CREDENTIAL_REQUIRED",
+                        "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "403": {
+            "description": "Forbidden error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "AUTHENTICATION_FAILED": {
+                    "value": {
+                      "error": {
+                        "message": "Authentication failed. Please ensure your token is correct.",
+                        "code": "AUTHENTICATION_FAILED",
+                        "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "418": {
+            "description": "I'm Ai",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "I_AM_AI": {
+                    "value": {
+                      "error": {
+                        "message": "You sent a request to Ai-chan, Misskey's showgirl, instead of the server.",
+                        "code": "I_AM_AI",
+                        "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "500": {
+            "description": "Internal server error",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Error"
+                },
+                "examples": {
+                  "INTERNAL_ERROR": {
+                    "value": {
+                      "error": {
+                        "message": "Internal error occurred. Please contact us if the error persists.",
+                        "code": "INTERNAL_ERROR",
+                        "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
     "/drive/files/show": {
       "post": {
         "operationId": "post___drive___files___show",

Get diff files from Workflow Page

@github-actions github-actions bot added the packages/frontend Client side specific issue/PR label May 10, 2025
@syuilo
Copy link
Member Author

syuilo commented May 14, 2025

概ね出来た気はする

@syuilo
Copy link
Member Author

syuilo commented May 14, 2025

0keyで動作中

@syuilo
Copy link
Member Author

syuilo commented May 14, 2025

/preview

@syuilo syuilo marked this pull request as ready for review May 14, 2025 12:08
@syuilo
Copy link
Member Author

syuilo commented May 16, 2025

とりあえずマージするか

@samunohito
Copy link
Member

samunohito commented May 16, 2025

image
ここに中止が欲しいかも…?間違えて大きなファイルを添付→勢いでアップロード押しちゃったときみたいなシチュエーションを救えると思います

@samunohito
Copy link
Member

samunohito commented May 16, 2025

あと、アップロード中にダイアログを閉じて中止しても、バックグラウンドでアップロード処理が動きっぱなしのようです。
ダイアログを閉じた後すぐにドライブを開いてしばらく待つと、中断したはずのファイルが一覧に追加されます


edit: 画像追加↓
pic

@samunohito
Copy link
Member

image
↑この画面から再度ファイルを選択するダイアログを表示する動線 or ドラッグアンドドロップでファイルを受け付けるような機能があっても良いかも。

errors: {
},

res: {},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick: #15904 と同様の理由で不要です

Suggested change
res: {},

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages/backend Server side specific issue/PR packages/frontend Client side specific issue/PR packages/misskey-js
Projects
4 participants